sampleView.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. <template>
  2. <div class="sample-content">
  3. <!-- 表格組件 -->
  4. <div class="top-content">
  5. <div class="top-title">样品间可视化11</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. <!-- v-show="leixingcare" -->
  23. <el-form-item
  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>样品名称:{{ it.yang_pin_ming_che}}</p>
  168. <p>存储条件:{{it.cun_chu_tiao_jian }}</p>
  169. <p>收样日期:{{ it.ru_ku_shi_jian_}}</p>
  170. <!--
  171. <p v-if="it.shi_fou_liu_yang_ =='是'">留样期限:{{ it.liu_yang_qi_xian_}}</p>
  172. -->
  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. </div> -->
  188. <div class="right-content">
  189. <p>
  190. {{ it.wei_zhi_zhuang_ta || it.yang_pin_ming_che }}
  191. </p>
  192. </div>
  193. </div>
  194. <div class="bottom-dsc" v-if="false">
  195. {{ it.wei_zhi_zhuang_ta || it.yang_pin_ming_che }}
  196. </div>
  197. </div>
  198. </div>
  199. </div>
  200. </div>
  201. </div>
  202. </div>
  203. </div>
  204. </div>
  205. <!-- <div class="goodshelf-name">
  206. {{ desString }}
  207. </div> -->
  208. </div>
  209. </template>
  210. <script>
  211. import FixHeight from "@/mixins/height";
  212. import curdPost from "@/business/platform/form/utils/custom/joinCURD.js";
  213. export default {
  214. mixins: [FixHeight],
  215. data() {
  216. return {
  217. sampleOption: [],
  218. formInline: {
  219. fang_jian_hao_value: "",
  220. qu_yu_value: "",
  221. huo_jia_value: "",
  222. gua_jia_value: "",
  223. },
  224. listData: [],
  225. warehouseOptions: [],
  226. quyu_arr: [],
  227. huo_jia_arr: [],
  228. gua_jia_arr: [],
  229. firstLoadActive: true,
  230. qu_yu_value: "",
  231. quyuShow: "",
  232. huojiashow: "",
  233. guajiashow: "",
  234. leixingcare: true,
  235. cenghao: [],
  236. warehouse: [],
  237. loading: false,
  238. // pagination: {},
  239. // secondshow: false,
  240. desString: "",
  241. };
  242. },
  243. filters: {
  244. specimenFilters: function (value) {
  245. if (value == "空余") {
  246. return "未占用";
  247. } else {
  248. return value;
  249. }
  250. },
  251. },
  252. created() {
  253. this.loadQueryData();
  254. this.firstLoadViewData();
  255. },
  256. methods: {
  257. firstLoadViewData() {
  258. //t_mjypcfwz 存放位置
  259. //
  260. var this_ = this;
  261. var sqlString = `select * from t_ypcfwz where fang_jian_lei_xin = '样品间' and qu_yu_ ='待检区' and huo_jia_hao_ = '4' and huo_jia_lei_xing_ = '医用冷藏箱'`;
  262. this.huojiashow = "4号医用冷藏箱";
  263. this.quyuShow = "待检区";
  264. this.desString = "样品间" + "待检区医用冷藏箱";
  265. this.queryLoad(sqlString);
  266. this.formInline.fang_jian_hao_value = "样品间";
  267. this.formInline.qu_yu_value = "待检区";
  268. this.formInline.huo_jia_value = "4号医用冷藏箱";
  269. let sql = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_ypcfwz where fang_jian_lei_xin = '样品间' and qu_yu_ ='待检区' order by huo_jia_hao_ asc `;
  270. curdPost("sql", sql).then((response) => {
  271. this_.huo_jia_arr = response.variables.data;
  272. });
  273. },
  274. loadQueryData() {
  275. //查询选择数据查询 房间类型查询
  276. var sqlString =
  277. "select distinct fang_jian_lei_xin from t_ypcfwz WHERE fang_jian_lei_xin !=''";
  278. var this_ = this;
  279. curdPost("sql", sqlString)
  280. .then((response) => {
  281. this_.sampleOption = response.variables.data;
  282. })
  283. .catch((err) => {
  284. console.log(err, "err------>");
  285. });
  286. },
  287. describeFn() {
  288. this.desString =
  289. this.formInline.fang_jian_hao_value +
  290. this.formInline.qu_yu_value +
  291. this.formInline.huo_jia_value +
  292. this.formInline.gua_jia_value;
  293. },
  294. onSubmits(sql) {
  295. var fang_jian_ = this.formInline.fang_jian_hao_value;
  296. var qu_yu = this.formInline.qu_yu_value;
  297. var huo_jia_hao_ = this.formInline.huo_jia_value.split("号")[0]
  298. let huo_jia_lei_xing_ = this.formInline.huo_jia_value.split("号")[1]
  299. var gua_jia_hao = this.formInline.gua_jia_value.substr(0, 1);
  300. var sql= `select * from t_ypcfwz 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_}'`;
  301. // console.log(sql);
  302. this.describeFn();
  303. this.queryLoad(sql);
  304. },
  305. async queryLoad(sql) {
  306. //根据样品信息货位查询相对应的样品登记表
  307. var datas = [];
  308. var labelsMap = {}; // map存储
  309. var this_ = this;
  310. this_.listData = [];
  311. await curdPost("sql", sql).then((res) => {
  312. datas = res.variables.data;
  313. });
  314. datas.forEach(item=>{
  315. if (!labelsMap[item.ceng_hao_]) {
  316. labelsMap[item.ceng_hao_] = [];
  317. }
  318. })
  319. for(let i=0;i<datas.length;i++){
  320. for(let k in labelsMap){
  321. if(k == datas[i].ceng_hao_){
  322. labelsMap[k].push(datas[i]);
  323. }
  324. }
  325. }
  326. this_.listData = labelsMap;
  327. },
  328. qu_yu_Event(e) {
  329. //区间 留样 样品间 点击事件 查询相应的货架号->冰箱 赋值 huo_jia_hao_
  330. this.huo_jia_arrEvent(e.target.innerText);
  331. this.huojiashow = "";
  332. this.guajiashow = "";
  333. let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_ypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${e.target.innerText}' order by huo_jia_hao_ asc`;
  334. var this_ = this;
  335. this.qu_yu_value = e.target.innerText;
  336. this.quyuShow = e.target.innerText;
  337. this.formInline.qu_yu_value = e.target.innerText;
  338. curdPost("sql", sqlString).then((response) => {
  339. this_.huo_jia_arr = response.variables.data;
  340. // console.log(this_.huo_jia_arr,"区域点击")
  341. });
  342. this.describeFn();
  343. },
  344. huo_jia_hao_Event(e) {
  345. //货架 冰箱 液氮罐点击事件
  346. this.guajiashow = "";
  347. let selectText = e.target.innerText;
  348. this.guajiaarrEvent(selectText);
  349. this.huojiashow = selectText;
  350. let huojiaNum = selectText.split("号")[0];
  351. this.formInline.huo_jia_value = selectText;
  352. // console.log(this.formInline.huo_jia_value, huojiaNum,"value")
  353. let huojialeixing = this.formInline.huo_jia_value.split("号")[1];
  354. var sql = `select * from t_ypcfwz 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}'`;
  355. // console.log(sql, "货架点击");
  356. //区分是冰箱和液氮罐的点击事件
  357. // if (selectText.includes("冰箱")) {//如果是冰箱 请求样品货位配置信息 ->查询登记表
  358. // var sql = `select * from t_lhypdjb 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}'`;
  359. this.queryLoad(sql);
  360. this.formInline.gua_jia_value = "";
  361. // } else if (selectText.includes("液氮罐")) {
  362. // //液氮罐 查询该液氮罐下所有的挂架
  363. // console.log(huojiaNum);
  364. // 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`;
  365. // var this_ = this;
  366. // curdPost("sql", sqlString).then((response) => {
  367. // this_.gua_jia_arr = response.variables.data;
  368. // });
  369. // }
  370. this.describeFn();
  371. this.formInline.huo_jia_value = selectText;
  372. },
  373. // gua_jia_Event(e) {
  374. // //液氮罐挂架号点击事件 查询该液氮罐下该挂架的货位位置信息;
  375. // let selectText = e.target.innerText;
  376. // this.formInline.gua_jia_value = selectText;
  377. // this.guajiashow = selectText;
  378. // let hguajiaNum = selectText.substr(0, 1);
  379. // var fang_jian_hao_value = this.formInline.fang_jian_hao_value;
  380. // var huo_jia_value = this.formInline.huo_jia_value;
  381. // 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(
  382. // 0,
  383. // 1
  384. // )}' and gua_jia_hao_= '${hguajiaNum}'`;
  385. // this.describeFn();
  386. // this.queryLoad(sql);
  387. // },
  388. huo_jia_arrEvent(quyu) {
  389. let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_ypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${quyu}' order by huo_jia_hao_ asc`;
  390. var this_ = this;
  391. curdPost("sql", sqlString).then((response) => {
  392. this_.huo_jia_arr = response.variables.data;
  393. if (!this_.firstLoadActive) {
  394. this_.formInline.huo_jia_value = "";
  395. }
  396. this_.firstLoadActive = false;
  397. });
  398. },
  399. guajiaarrEvent(huojiaweizhi) {
  400. let huojiaNum = huojiaweizhi.substr(0, 1);
  401. let huojialeixing = huojiaweizhi.substr(2, huojiaweizhi.length);
  402. if (huojiaweizhi.includes("冰箱")) {
  403. this.gua_jia_arr = [];
  404. return;
  405. }
  406. let sqlString = `select distinct huo_jia_hao_ from t_ypcfwz where fang_jian_lei_xin = '样品间' and huo_jia_lei_xing_ = '${huojialeixing}' and huo_jia_hao_ = '${huojiaNum}' order by huo_jia_hao_`;
  407. var this_ = this;
  408. curdPost("sql", sqlString).then((response) => {
  409. this_.gua_jia_arr = response.variables.data;
  410. });
  411. },
  412. },
  413. watch: {
  414. "formInline.fang_jian_hao_value": function (newdata, olddata) {
  415. //监控房间号 input 输入框数据变化 来改变区域和货架信息(input)
  416. this.huo_jia_arr = [];
  417. let sqlString = `select distinct qu_yu_ ,huo_jia_hao_ from t_ypcfwz where fang_jian_lei_xin = '${newdata}' `;
  418. var this_ = this;
  419. this_.formInline.qu_yu_value = "";
  420. this_.formInline.gua_jia_value = "";
  421. this_.formInline.huo_jia_value = "";
  422. this_.describeFn();
  423. curdPost("sql", sqlString).then((response) => {
  424. let person = response.variables.data;
  425. let obj = {};
  426. let peon = person.reduce((cur, next) => {
  427. obj[next.qu_yu_] ? "" : (obj[next.qu_yu_] = true && cur.push(next));
  428. return cur;
  429. }, []); //设置cur默认类型为数组,并且初始值为空的数组
  430. // console.log(peon);
  431. this_.quyu_arr = peon; //区域获取
  432. this_.quyu_arr.forEach((item) => {
  433. if (item.qu_yu_ == "") {
  434. //区域值为空
  435. this_.leixingcare = false;
  436. let sql = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_ypcfwz where fang_jian_lei_xin = '${newdata}' order by huo_jia_hao_ asc`;
  437. curdPost("sql", sql).then((res) => {
  438. this_.huo_jia_arr = res.variables.data;
  439. });
  440. return;
  441. } else {
  442. this_.leixingcare = true;
  443. }
  444. });
  445. if (!this.firstLoadActive) {
  446. this_.formInline.qu_yu_value = "";
  447. }
  448. });
  449. },
  450. "formInline.qu_yu_value": function (newdata, olddata) {
  451. //监控区域变化 input 输入框数据变化 来改变区域和货架信息(input)
  452. this.quyuShow = newdata;
  453. this.huo_jia_arrEvent(newdata);
  454. this.huojiashow = "";
  455. this.guajiashow = "";
  456. this.formInline.qu_yu_value = newdata;
  457. let sqlString = `select distinct huo_jia_hao_,huo_jia_lei_xing_ from t_ypcfwz where fang_jian_lei_xin = '${this.formInline.fang_jian_hao_value}' and qu_yu_ = '${newdata}' order by huo_jia_hao_ asc`;
  458. var this_ = this;
  459. this.qu_yu_value = newdata;
  460. // this.quyuShow = olddata;
  461. // console.log(sqlString, "货架变化");
  462. curdPost("sql", sqlString)
  463. .then((response) => {
  464. this_.huo_jia_arr = response.variables.data;
  465. })
  466. .catch((err) => {
  467. console.log(err);
  468. });
  469. this.describeFn();
  470. },
  471. "formInline.huo_jia_value": function (newdata, olddata) {
  472. //监控挂架变化 input 输入框数据变化 来改变区域和货架信息(input)
  473. this.huojiashow = newdata;
  474. },
  475. // "formInline.huo_jia_value": function (newdata, olddata) {
  476. // //监控货架变化 input 输入框数据变化 来改变区域和货架信息(input)
  477. // this.huojiashow = newdata;
  478. // //货架 冰箱 液氮罐点击事件
  479. // this.guajiashow = "";
  480. // let selectText = newdata;
  481. // this.guajiaarrEvent(selectText);
  482. // this.huojiashow = selectText;
  483. // let huojiaNum = selectText.substr(0, 1);
  484. // this.formInline.huo_jia_value = selectText;
  485. // this.formInline.gua_jia_value = "";
  486. // //区分是冰箱和液氮罐的点击事件
  487. // if (selectText.includes("冰箱")) {
  488. // //如果是冰箱 请求样品货位配置信息 ->查询登记表
  489. // } else if (selectText.includes("液氮罐")) {
  490. // //液氮罐 查询该液氮罐下所有的挂架
  491. // console.log(huojiaNum);
  492. // 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`;
  493. // var this_ = this;
  494. // curdPost("sql", sqlString).then((response) => {
  495. // this_.gua_jia_arr = response.variables.data;
  496. // });
  497. // }
  498. // 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`;
  499. // var this_ = this;
  500. // curdPost("sql", sqlString).then((response) => {
  501. // this_.gua_jia_arr = response.variables.data;
  502. // });
  503. // this.describeFn();
  504. // this.formInline.huo_jia_value = selectText;
  505. // },
  506. },
  507. };
  508. </script>
  509. <style lang="scss" scoped>
  510. p {
  511. padding: 0;
  512. margin: 0;
  513. }
  514. .sample-content {
  515. width: 100%;
  516. .top-content {
  517. width: 100%;
  518. .top-title {
  519. text-align: center;
  520. font-weight: bold;
  521. width: 100%;
  522. font-size: 18px;
  523. line-height: 40px;
  524. }
  525. .query-content {
  526. display: flex;
  527. margin-left: 25px;
  528. }
  529. }
  530. .select_quyu {
  531. .test-quyu,
  532. .huojia {
  533. width: 100%;
  534. .list-items {
  535. display: flex;
  536. cursor: pointer;
  537. .quyu-item {
  538. background: #0099cc;
  539. }
  540. .huojia-item {
  541. background: #99ccff;
  542. }
  543. .list-item {
  544. padding: 0px 10px;
  545. background-color: rgb(206, 198, 164);
  546. text-align: center;
  547. line-height: 35px;
  548. margin-left: 20px;
  549. border-radius: 10px;
  550. }
  551. }
  552. .cangku-mingchen {
  553. width: 100%;
  554. text-align: left;
  555. margin-left: 50px;
  556. }
  557. }
  558. }
  559. .body-content {
  560. // margin-top: 70px;
  561. display: flex;
  562. box-sizing: border-box;
  563. height: calc(100vh - 340px);
  564. overflow-x: hidden;
  565. overflow-y: scroll;
  566. // .left-table {
  567. // // width: 40%;
  568. // ::v-deep .el-table {
  569. // width: 40%;
  570. // }
  571. // }
  572. .right-view {
  573. z-index: 99;
  574. width: 100%;
  575. .goods-items {
  576. width: 100%;
  577. border: solid 2px rgb(202, 236, 247);
  578. display: flex;
  579. flex-direction: column-reverse;
  580. .show-demo {
  581. width: 100%;
  582. border-bottom: 1px solid bisque;
  583. // margin: 0 auto;
  584. text-align: center;
  585. .goods-level {
  586. display: flex;
  587. position: relative;
  588. margin-bottom: 6px;
  589. }
  590. .level-dsc {
  591. margin-top: 12px;
  592. position: absolute;
  593. bottom: 0;
  594. left: 10px;
  595. }
  596. .goods-list {
  597. display: flex;
  598. // justify-content: flex-start;
  599. flex-wrap: wrap-reverse;
  600. align-content: flex-start;
  601. margin-left: 50px;
  602. .goods-dsc {
  603. cursor: pointer;
  604. padding: 2px 6px;
  605. border-radius: 5px;
  606. background: #67c23a;
  607. margin-left: 12px;
  608. margin-top: 6px;
  609. box-sizing: border-box;
  610. .top-dsc {
  611. display: flex;
  612. justify-content: space-between;
  613. font-size: 12px;
  614. // height: 18px;
  615. line-height: 18px;
  616. .position > p {
  617. text-align: left;
  618. color: #fbe8ff;
  619. }
  620. .right-content {
  621. display: flex;
  622. align-items: center;
  623. p {
  624. height: 18px;
  625. line-height: 18px;
  626. margin-left: 5px;
  627. color: #fbe8ff;
  628. text-align: left;
  629. }
  630. }
  631. }
  632. .bottom-dsc {
  633. width: 100%;
  634. text-align: center;
  635. font-size: 18px;
  636. height: 45px;
  637. line-height: 45px;
  638. margin-top: 9px;
  639. color: #fbe8ff;
  640. }
  641. .goods-demo {
  642. display: block;
  643. width: 70px;
  644. height: 90px;
  645. border: 1px solid rgb(10, 9, 8);
  646. text-align: center;
  647. margin: 0;
  648. }
  649. .goods-code {
  650. text-align: center;
  651. width: 100%;
  652. height: 20px;
  653. line-height: 20px;
  654. }
  655. }
  656. }
  657. .goodshelf-name {
  658. margin: 15px 0px;
  659. }
  660. .shelf {
  661. width: 100%;
  662. height: 40px;
  663. line-height: 40px;
  664. text-align: center;
  665. }
  666. }
  667. // .shelf-pointer {
  668. // position: fixed;
  669. // right: 75px;
  670. // bottom: 35%;
  671. // cursor: pointer;
  672. // .pointer {
  673. // .pointer-item {
  674. // width: 45px;
  675. // height: 45px;
  676. // line-height: 45px;
  677. // border: 1px solid #fcfefd;
  678. // background-color: #fcb400;
  679. // border-radius: 50%;
  680. // text-align: center;
  681. // color: #fff0f3;
  682. // font-size: 18px;
  683. // margin-top: 10px;
  684. // }
  685. // }
  686. // }
  687. }
  688. }
  689. }
  690. }
  691. </style>