reservedSample.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673
  1. <template>
  2. <div class="sample-content">
  3. <!-- 表格組件 -->
  4. <div class="top-content">
  5. <div class="top-title">样品间可视化</div>
  6. <div class="query-content">
  7. <el-form :inline="true" :model="formInline" class="demo-form-inline">
  8. <el-form-item label="房间号:">
  9. <el-select
  10. v-model="formInline.fang_jian_hao_value"
  11. placeholder="请选择样品"
  12. >
  13. <el-option
  14. v-for="(item, index) in sampleOption"
  15. :key="index"
  16. placeholder="区域"
  17. :label="item.fang_jian_lei_xin"
  18. :value="item.fang_jian_lei_xin"
  19. ></el-option>
  20. </el-select>
  21. </el-form-item>
  22. <el-form-item
  23. v-show="leixingcare"
  24. style="margin-left: 50px"
  25. prop="title"
  26. label="区域名称:"
  27. >
  28. <el-select
  29. v-model="formInline.qu_yu_value"
  30. placeholder="请选择区域名称"
  31. >
  32. <el-option
  33. v-for="(item, index) in quyu_arr"
  34. :key="index"
  35. placeholder="区域"
  36. :label="item.qu_yu_"
  37. :value="item.qu_yu_"
  38. ></el-option>
  39. </el-select>
  40. </el-form-item>
  41. <el-form-item style="margin-left: 50px" label="货架号:">
  42. <el-select
  43. v-model="formInline.huo_jia_value"
  44. placeholder="请选择货架号"
  45. >
  46. <el-option
  47. v-for="(item, index) in huo_jia_arr"
  48. :key="index"
  49. placeholder="区域"
  50. :label="item.huo_jia_hao_ + '号' + item.huo_jia_lei_xing_"
  51. :value="item.huo_jia_hao_ + '号' + item.huo_jia_lei_xing_"
  52. ></el-option>
  53. </el-select>
  54. </el-form-item>
  55. <el-form-item
  56. v-show="!leixingcare"
  57. style="margin-left: 50px"
  58. label="挂件号:"
  59. >
  60. <el-select
  61. v-model="formInline.gua_jia_value"
  62. placeholder="请选择挂件号"
  63. >
  64. <el-option
  65. v-for="(item, index) in gua_jia_arr"
  66. :key="index"
  67. placeholder="区域"
  68. :label="item.gua_jia_hao_ + '号' + '挂件'"
  69. :value="item.gua_jia_hao_ + '号' + '挂件'"
  70. ></el-option>
  71. </el-select>
  72. </el-form-item>
  73. <el-form-item>
  74. <button
  75. type="button"
  76. class="el-button el-button--primary el-button--mini"
  77. @click="onSubmits"
  78. >
  79. <i class="ibps-icon-search"></i><span>查询</span>
  80. </button>
  81. </el-form-item>
  82. </el-form>
  83. </div>
  84. </div>
  85. <div class="select_quyu">
  86. <div class="test-quyu" v-if="leixingcare">
  87. <div class="test-list">
  88. <ul class="list-items">
  89. <li
  90. class="list-item quyu-item"
  91. :style="{
  92. background: quyuShow == item.qu_yu_ ? '#FF9900' : '#0099CC',
  93. }"
  94. @click="qu_yu_Event"
  95. v-for="item in quyu_arr"
  96. :key="item.qu_yu_"
  97. >
  98. {{ item.qu_yu_ }}
  99. </li>
  100. </ul>
  101. </div>
  102. </div>
  103. <div class="huojia">
  104. <div class="test-list">
  105. <ul class="list-items">
  106. <li
  107. class="list-item huojia-item"
  108. :style="{
  109. background:
  110. huojiashow ==
  111. item.huo_jia_hao_ + '号' + item.huo_jia_lei_xing_
  112. ? '#ff9900'
  113. : '#0099cc',
  114. }"
  115. @click="huo_jia_hao_Event"
  116. v-for="(item, index) in huo_jia_arr"
  117. :key="index"
  118. >
  119. {{ item.huo_jia_hao_ }}号{{ item.huo_jia_lei_xing_ }}
  120. </li>
  121. </ul>
  122. </div>
  123. </div>
  124. <div class="huojia">
  125. <div class="test-list" v-show="!leixingcare">
  126. <ul class="list-items">
  127. <li
  128. class="list-item huojia-item"
  129. :style="{
  130. background:
  131. guajiashow == item.gua_jia_hao_ + '号挂件'
  132. ? '#FF9900'
  133. : '#e5baba',
  134. }"
  135. @click="gua_jia_Event"
  136. v-for="(item, index) in gua_jia_arr"
  137. :key="index"
  138. >
  139. {{ item.gua_jia_hao_ }}号挂件
  140. </li>
  141. </ul>
  142. </div>
  143. </div>
  144. </div>
  145. <div class="body-content">
  146. <div class="left-table" v-if="false"></div>
  147. <div class="right-view">
  148. <div class="goods-items">
  149. <div class="show-demo" v-for="(item, index) in listData" :key="index">
  150. <div>
  151. <div class="goods-level">
  152. <div class="level-dsc">第{{ index }}层</div>
  153. <div class="goods-list">
  154. <div
  155. class="goods-dsc"
  156. v-for="(it, ind) in listData[index]"
  157. :key="ind"
  158. :style="{
  159. background:
  160. it.wei_zhi_zhuang_ta == '空余' ? '#E6A23C' : '',
  161. }"
  162. >
  163. <div class="top-dsc">
  164. <div class="position">
  165. <p>位置:{{ it.wei_zhi_bian_hao_ }}</p>
  166. <p>样品编号:{{ it.yang_pin_bian_hao }}</p>
  167. <p>
  168. 存储条件:{{
  169. it.cun_chu_tiao_jian || it.cun_chu_yao_qiu_
  170. }}
  171. </p>
  172. <p>留样期限:{{ it.liu_yang_qi_xian_ }}</p>
  173. <!-- <p>编号:{{it.yang_pin_bian_hao}}</p> -->
  174. <!-- <p>批次:</p>
  175. <p>有效期:</p> -->
  176. </div>
  177. <div class="right-content" v-if="false">
  178. <p v-if="false">编号:{{ it.liu_yang_qi_xian_ }}</p>
  179. <p>
  180. {{ it.wei_zhi_zhuang_ta || it.yang_pin_ming_che }}
  181. </p>
  182. <p v-if="false">
  183. 存储条件:{{
  184. it.cun_chu_tiao_jian || it.cun_chu_yao_qiu_
  185. }}
  186. </p>
  187. <p v-if="false">留样期限:{{ it.liu_yang_qi_xian_ }}</p>
  188. <!-- <p>类型:{{ it.cun_fang_lei_xing }}</p> -->
  189. </div>
  190. <div class="right-content">
  191. <p>
  192. {{ it.wei_zhi_zhuang_ta || it.yang_pin_ming_che }}
  193. </p>
  194. </div>
  195. <!-- <div class="condition">{{ it.cun_chu_tiao_jian }}</div> -->
  196. </div>
  197. <div class="bottom-dsc" v-if="false">
  198. {{ it.wei_zhi_zhuang_ta || it.yang_pin_ming_che }}
  199. </div>
  200. </div>
  201. </div>
  202. </div>
  203. </div>
  204. <div class="goodshelf-name" v-if="index == 1">
  205. {{ desString }}
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. </div>
  211. </div>
  212. </template>
  213. <script>
  214. import FixHeight from "@/mixins/height";
  215. import curdPost from "@/business/platform/form/utils/custom/joinCURD.js";
  216. export default {
  217. mixins: [FixHeight],
  218. data() {
  219. return {
  220. sampleOption: [],
  221. formInline: {
  222. fang_jian_hao_value: "",
  223. qu_yu_value: "",
  224. huo_jia_value: "",
  225. gua_jia_value: "",
  226. },
  227. listData: [],
  228. warehouseOptions: [],
  229. quyu_arr: [],
  230. huo_jia_arr: [],
  231. gua_jia_arr: [],
  232. firstLoadActive: true,
  233. qu_yu_value: "",
  234. quyuShow: "",
  235. huojiashow: "",
  236. guajiashow: "",
  237. leixingcare: true,
  238. cenghao: [],
  239. warehouse: [],
  240. loading: false,
  241. // pagination: {},
  242. // secondshow: false,
  243. desString: "",
  244. };
  245. },
  246. filters: {
  247. specimenFilters: function (value) {
  248. if (value == "空余") {
  249. return "未占用";
  250. } else {
  251. return value;
  252. }
  253. },
  254. },
  255. created() {
  256. this.loadQueryData();
  257. this.firstLoadViewData();
  258. },
  259. methods: {
  260. firstLoadViewData() {
  261. var this_ = this;
  262. var sqlString = `select * from t_mjypcfwz where fang_jian_lei_xin = '样品间' and qu_yu_ ='待检区' and huo_jia_hao_ = '1' and huo_jia_lei_xing_ = '冰箱'`;
  263. this.huojiashow = "1号冰箱";
  264. this.quyuShow = "待检区";
  265. this.desString = "样品间" + "待检区1号冰箱";
  266. this.queryLoad(sqlString);
  267. this.formInline.fang_jian_hao_value = "样品间";
  268. this.formInline.qu_yu_value = "待检区";
  269. this.formInline.huo_jia_value = "1号冰箱";
  270. let sql = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '样品间' and qu_yu_ ='待检区' order by huo_jia_hao_ asc `;
  271. curdPost("sql", sql).then((response) => {
  272. this_.huo_jia_arr = response.variables.data;
  273. });
  274. },
  275. loadQueryData() {
  276. //查询选择数据查询
  277. var sqlString = "select distinct fang_jian_lei_xin from t_mjypcfwz WHERE fang_jian_lei_xin !=''";
  278. // var sqlString = "select * from t_mjypcfwz";
  279. var this_ = this;
  280. curdPost("sql", sqlString)
  281. .then((response) => {
  282. this_.sampleOption = response.variables.data;
  283. this_.sampleOption.pop();
  284. console.log(this_.sampleOption,"11111111111122")
  285. })
  286. .catch((err) => {
  287. console.log(err, "err------>");
  288. });
  289. },
  290. onSubmits(sql) {
  291. var fang_jian_ = this.formInline.fang_jian_hao_value;
  292. var qu_yu = this.formInline.qu_yu_value;
  293. var huo_jia_hao_ = this.formInline.huo_jia_value.substr(0, 1);
  294. let huo_jia_lei_xing_ = this.formInline.huo_jia_value.substr(
  295. 2,
  296. this.formInline.huo_jia_value.length
  297. );
  298. var gua_jia_hao = this.formInline.gua_jia_value.substr(0, 1);
  299. var sql;
  300. if (qu_yu != "") {;
  301. sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_}' and qu_yu_ = '${qu_yu}' and huo_jia_lei_xing_ = '${huo_jia_lei_xing_}' and huo_jia_hao_ = '${huo_jia_hao_}'`;
  302. } else {
  303. if (huo_jia_lei_xing_.includes("冰箱")) {
  304. sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_}' and huo_jia_lei_xing_ = '${huo_jia_lei_xing_}' and huo_jia_hao_ = '${huo_jia_hao_}'`;
  305. } else if (huo_jia_lei_xing_.includes("液氮罐")) {
  306. sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_}' and huo_jia_lei_xing_ = '${huo_jia_lei_xing_}' and huo_jia_hao_ = '${huo_jia_hao_}' and gua_jia_hao_= '${gua_jia_hao}'`;
  307. }
  308. }
  309. // this.desString = fang_jian_ + qu_yu + huo_jia_hao_;
  310. this.queryLoad(sql);
  311. },
  312. queryLoad(sql) {
  313. //根据样品信息货位查询相对应的样品登记表
  314. var datas = [];
  315. var labelsMap = {}; // map存储
  316. var this_ = this;
  317. this_.listData = [];
  318. curdPost("sql", sql).then((res) => {
  319. datas = res.variables.data;
  320. console.log(datas,"2222222222 ")
  321. datas.forEach((item) => {
  322. if (!labelsMap[item.ceng_hao_]) {
  323. //没有就创建
  324. labelsMap[item.ceng_hao_] = [];
  325. }
  326. // 通过样品货位配置的id外键 查询样品登记表
  327. let yangpingSql =
  328. "select * from t_mjypdjb WHERE shou_yang_wei_zhi = '" +
  329. item.id_ +
  330. "'";
  331. curdPost("sql", yangpingSql).then((res) => {
  332. var resData = res.variables.data;
  333. if (resData.length > 0) {
  334. resData.forEach((it) => {
  335. it.wei_zhi_bian_hao_ = item.wei_zhi_bian_hao_;
  336. labelsMap[item.ceng_hao_].push(it);
  337. });
  338. } else {
  339. labelsMap[item.ceng_hao_].push(item);
  340. }
  341. });
  342. console.log(labelsMap,"3333333333")
  343. });
  344. // this.loading = true;
  345. this_.listData = labelsMap;
  346. });
  347. },
  348. qu_yu_Event(e) {
  349. //区间 留样 样品间 点击事件 查询相应的货架号->冰箱 赋值 huo_jia_hao_
  350. this.huo_jia_arrEvent(e.target.innerText);
  351. this.huojiashow = "";
  352. this.guajiashow = "";
  353. let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${e.target.innerText}' order by huo_jia_hao_ asc`;
  354. var this_ = this;
  355. this.qu_yu_value = e.target.innerText;
  356. this.quyuShow = e.target.innerText;
  357. this.formInline.qu_yu_value = e.target.innerText;
  358. curdPost("sql", sqlString).then((response) => {
  359. this_.huo_jia_arr = response.variables.data;
  360. });
  361. },
  362. huo_jia_hao_Event(e) {
  363. //货架 冰箱 液氮罐点击事件
  364. this.guajiashow = "";
  365. let selectText = e.target.innerText;
  366. this.guajiaarrEvent(selectText);
  367. this.huojiashow = selectText;
  368. let huojiaNum = selectText.substr(0, 1);
  369. this.formInline.huo_jia_value = selectText;
  370. let huojialeixing = this.formInline.huo_jia_value.substr(
  371. 2,
  372. this.formInline.huo_jia_value.length
  373. );
  374. //区分是冰箱和液氮罐的点击事件
  375. if (selectText.includes("冰箱")) {
  376. //如果是冰箱 请求样品货位配置信息 ->查询登记表
  377. var sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${this.formInline.qu_yu_value}' and huo_jia_lei_xing_ = '${huojialeixing}' and huo_jia_hao_ = '${huojiaNum}'`;
  378. this.queryLoad(sql);
  379. // alert("冰箱");
  380. } else if (selectText.includes("液氮罐")) {
  381. //液氮罐 查询该液氮罐下所有的挂件
  382. console.log(huojiaNum);
  383. let sqlString = `select distinct gua_jia_hao_ from t_mjypcfwz where huo_jia_lei_xing_ = '液氮罐' and huo_jia_hao_ = '${huojiaNum}' order by gua_jia_hao_ asc`;
  384. var this_ = this;
  385. curdPost("sql", sqlString).then((response) => {
  386. this_.gua_jia_arr = response.variables.data;
  387. });
  388. }
  389. this.formInline.huo_jia_value = selectText;
  390. },
  391. gua_jia_Event(e) {
  392. //液氮罐挂件号点击事件 查询该液氮罐下该挂件的货位位置信息;
  393. let selectText = e.target.innerText;
  394. this.guajiashow = selectText;
  395. let hguajiaNum = selectText.substr(0, 1);
  396. var fang_jian_hao_value = this.formInline.fang_jian_hao_value;
  397. var huo_jia_value = this.formInline.huo_jia_value;
  398. var sql = `select * from t_mjypcfwz where fang_jian_lei_xin = '${fang_jian_hao_value}' and huo_jia_lei_xing_ = '液氮罐' and huo_jia_hao_ = '${huo_jia_value.substring(
  399. 0,
  400. 1
  401. )}' and gua_jia_hao_= '${hguajiaNum}'`;
  402. this.desString = fang_jian_hao_value + huo_jia_value + selectText;
  403. this.queryLoad(sql);
  404. },
  405. huo_jia_arrEvent(quyu){
  406. let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${quyu}' order by huo_jia_hao_ asc`;
  407. var this_ = this;
  408. curdPost("sql", sqlString).then((response) => {
  409. this_.huo_jia_arr = response.variables.data;
  410. if (!this_.firstLoadActive) {
  411. this_.formInline.huo_jia_value = "";
  412. }
  413. this_.firstLoadActive = false;
  414. });
  415. },
  416. guajiaarrEvent(huojiaweizhi) {
  417. let huojiaNum = huojiaweizhi.substr(0, 1);
  418. let huojialeixing = huojiaweizhi.substr(2, huojiaweizhi.length);
  419. if(huojiaweizhi.includes("冰箱")){
  420. this.gua_jia_arr =[];
  421. return
  422. }
  423. let sqlString = `select distinct gua_jia_hao_ from t_mjypcfwz where fang_jian_lei_xin = '留样间' and huo_jia_lei_xing_ = '${huojialeixing}' and huo_jia_hao_ = '${huojiaNum}' order by gua_jia_hao_`;
  424. var this_ = this;
  425. curdPost("sql", sqlString).then((response) => {
  426. this_.gua_jia_arr = response.variables.data;
  427. });
  428. },
  429. },
  430. watch: {
  431. "formInline.fang_jian_hao_value": function (newdata, olddata) {
  432. //监控房间号 input 输入框数据变化 来改变区域和货架信息(input)
  433. this.huo_jia_arr = [];
  434. let sqlString = `select distinct qu_yu_ ,huo_jia_hao_ from t_mjypcfwz where fang_jian_lei_xin = '${newdata}' `;
  435. var this_ = this;
  436. curdPost("sql", sqlString).then((response) => {
  437. this_.quyu_arr = response.variables.data;
  438. this_.quyu_arr.forEach((item) => {
  439. //待优化 事实上是一个用来判断
  440. if (item.qu_yu_ == "") {
  441. this_.leixingcare = false;
  442. this_.formInline.qu_yu_value = "";
  443. let sql = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${newdata}' order by huo_jia_hao_ asc`;
  444. curdPost("sql", sql).then((res) => {
  445. this_.huo_jia_arr = res.variables.data;
  446. });
  447. return;
  448. } else {
  449. this_.leixingcare = true;
  450. }
  451. });
  452. if (!this.firstLoadActive) {
  453. this_.formInline.qu_yu_value = "";
  454. }
  455. });
  456. },
  457. // "formInline.qu_yu_value": function (newdata, olddata) {
  458. // let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_mjypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${newdata}' order by huo_jia_hao_ asc`;
  459. // var this_ = this;
  460. // curdPost("sql", sqlString).then((response) => {
  461. // this_.huo_jia_arr = response.variables.data;
  462. // if (!this_.firstLoadActive) {
  463. // this_.formInline.huo_jia_value = "";
  464. // }
  465. // this_.firstLoadActive = false;
  466. // });
  467. // },
  468. // "formInline.huo_jia_value": function (newdata, olddata) {
  469. // console.log(newdata.substr(0, 1), "货架监听");
  470. // let sqlString = `select distinct gua_jia_hao_ from t_mjypcfwz where fang_jian_lei_xin = '留样间' and huo_jia_lei_xing_ = '液氮罐' and huo_jia_hao_ = '${newdata.substr(
  471. // 0,
  472. // 1
  473. // )}' order by gua_jia_hao_`;
  474. // var this_ = this;
  475. // console.log(sqlString, "件数");
  476. // curdPost("sql", sqlString).then((response) => {
  477. // this_.gua_jia_arr = response.variables.data;
  478. // console.log(this_.gua_jia_arr, "挂件数");
  479. // });
  480. // },
  481. },
  482. };
  483. </script>
  484. <style lang="scss" scoped>
  485. p {
  486. padding: 0;
  487. margin: 0;
  488. }
  489. .sample-content {
  490. width: 100%;
  491. .top-content {
  492. width: 100%;
  493. .top-title {
  494. text-align: center;
  495. font-weight: bold;
  496. width: 100%;
  497. font-size: 18px;
  498. line-height: 40px;
  499. }
  500. .query-content {
  501. display: flex;
  502. margin-left: 25px;
  503. }
  504. }
  505. .select_quyu {
  506. .test-quyu,
  507. .huojia {
  508. width: 100%;
  509. .list-items {
  510. display: flex;
  511. cursor: pointer;
  512. .quyu-item {
  513. background: #0099cc;
  514. }
  515. .huojia-item {
  516. background: #99ccff;
  517. }
  518. .list-item {
  519. padding: 0px 10px;
  520. background-color: rgb(206, 198, 164);
  521. text-align: center;
  522. line-height: 35px;
  523. margin-left: 20px;
  524. border-radius: 10px;
  525. }
  526. }
  527. .cangku-mingchen {
  528. width: 100%;
  529. text-align: left;
  530. margin-left: 50px;
  531. }
  532. }
  533. }
  534. .body-content {
  535. // margin-top: 70px;
  536. display: flex;
  537. box-sizing: border-box;
  538. height: calc(100vh - 340px);
  539. overflow-x: hidden;
  540. overflow-y: scroll;
  541. // .left-table {
  542. // // width: 40%;
  543. // ::v-deep .el-table {
  544. // width: 40%;
  545. // }
  546. // }
  547. .right-view {
  548. z-index: 99;
  549. width: 100%;
  550. .goods-items {
  551. width: 100%;
  552. border: solid 2px rgb(202, 236, 247);
  553. display: flex;
  554. flex-direction: column-reverse;
  555. .show-demo {
  556. width: 100%;
  557. border-bottom: 1px solid bisque;
  558. // margin: 0 auto;
  559. text-align: center;
  560. .goods-level {
  561. display: flex;
  562. position: relative;
  563. margin-bottom: 6px;
  564. }
  565. .level-dsc {
  566. margin-top: 12px;
  567. position: absolute;
  568. bottom: 0;
  569. left: 10px;
  570. }
  571. .goods-list {
  572. display: flex;
  573. // justify-content: flex-start;
  574. flex-wrap: wrap-reverse;
  575. align-content: flex-start;
  576. margin-left: 50px;
  577. .goods-dsc {
  578. cursor: pointer;
  579. padding: 2px 6px;
  580. border-radius: 5px;
  581. background: #67c23a;
  582. margin-left: 12px;
  583. margin-top: 6px;
  584. box-sizing: border-box;
  585. .top-dsc {
  586. display: flex;
  587. justify-content: space-between;
  588. font-size: 12px;
  589. // height: 18px;
  590. line-height: 18px;
  591. .position > p {
  592. text-align: left;
  593. color: #fbe8ff;
  594. }
  595. .right-content {
  596. display: flex;
  597. align-items: center;
  598. p {
  599. height: 18px;
  600. line-height: 18px;
  601. margin-left: 5px;
  602. color: #fbe8ff;
  603. text-align: left;
  604. }
  605. }
  606. }
  607. .bottom-dsc {
  608. width: 100%;
  609. text-align: center;
  610. font-size: 18px;
  611. height: 45px;
  612. line-height: 45px;
  613. margin-top: 9px;
  614. color: #fbe8ff;
  615. }
  616. .goods-demo {
  617. display: block;
  618. width: 70px;
  619. height: 90px;
  620. border: 1px solid rgb(10, 9, 8);
  621. text-align: center;
  622. margin: 0;
  623. }
  624. .goods-code {
  625. text-align: center;
  626. width: 100%;
  627. height: 20px;
  628. line-height: 20px;
  629. }
  630. }
  631. }
  632. .goodshelf-name {
  633. margin: 15px 0px;
  634. }
  635. .shelf {
  636. width: 100%;
  637. height: 40px;
  638. line-height: 40px;
  639. text-align: center;
  640. }
  641. }
  642. // .shelf-pointer {
  643. // position: fixed;
  644. // right: 75px;
  645. // bottom: 35%;
  646. // cursor: pointer;
  647. // .pointer {
  648. // .pointer-item {
  649. // width: 45px;
  650. // height: 45px;
  651. // line-height: 45px;
  652. // border: 1px solid #fcfefd;
  653. // background-color: #fcb400;
  654. // border-radius: 50%;
  655. // text-align: center;
  656. // color: #fff0f3;
  657. // font-size: 18px;
  658. // margin-top: 10px;
  659. // }
  660. // }
  661. // }
  662. }
  663. }
  664. }
  665. }
  666. </style>