123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432 |
- <!--新增化学品-->
- <template>
- <div class="listPage">
- <div class="title-box">
- <p>{{addPropsData.id?'编辑化学品':'新增化学品'}}</p>
- <p class="reset-button-one" @click="backPage"><i class="el-icon-arrow-left"></i>返回</p>
- </div>
- <div class="listPage-min scrollbar-box">
- <el-form :model="formData" ref="form" :inline="true" :rules="rules" label-width="120px">
- <div class="form-min-box">
- <el-form-item label="化学品名:" prop="chemicalName">
- <el-input
- maxlength="30"
- style="width:500px;"
- v-model="formData.chemicalName"
- placeholder="请输入化学品名"
- clearable
- size="small"/>
- </el-form-item>
- </div>
- <div class="form-min-box">
- <el-form-item label="化学品分类:" prop="chemicalClassify">
- <el-select v-model="formData.chemicalClassify" clearable placeholder="请选择化学品分类" style="width:180px;">
- <el-option
- v-for="item in optionsListOne"
- :key="item.id"
- :label="item.classifyName"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
- <!--<el-form-item label="属性:" prop="classifyAttribute" label-width="70px">-->
- <!--<el-select-->
- <!--style="width:250px;"-->
- <!--v-model="formData.classifyAttribute"-->
- <!--multiple-->
- <!--collapse-tags-->
- <!--placeholder="请选择属性">-->
- <!--<el-option-->
- <!--v-for="item in optionsListTwo"-->
- <!--:key="item.dictValue"-->
- <!--:label="item.dictLabel"-->
- <!--:value="item.dictValue">-->
- <!--</el-option>-->
- <!--</el-select>-->
- <!--</el-form-item>-->
- <el-form-item class="criticality-input" label="临界量(T):" prop="criticality" label-width="100px" v-if="formData.chemicalClassify == 1">
- <el-input-number
- :precision="2"
- :step="0.01" :max="10000"
- style="width:210px;"
- v-model="formData.criticality"
- placeholder="请输入临界量"
- clearable/>
- </el-form-item>
- </div>
- <div class="form-min-box">
- <el-form-item label="形态:" prop="chemicalShape">
- <el-select v-model="formData.chemicalShape" clearable placeholder="请选择形态" style="width:500px;">
- <el-option
- v-for="item in optionsList"
- :key="item.dictValue"
- :label="item.dictLabel"
- :value="item.dictValue">
- </el-option>
- </el-select>
- </el-form-item>
- </div>
- <!--<div class="form-min-box">-->
- <!--<el-form-item label="标签类型:" prop="labelType" style="width:500px;">-->
- <!--<el-radio-group v-model="formData.labelType">-->
- <!--<el-radio :label="1">RFID</el-radio>-->
- <!--<el-radio :label="2">二维码</el-radio>-->
- <!--</el-radio-group>-->
- <!--</el-form-item>-->
- <!--</div>-->
- <div class="form-min-box">
- <el-form-item label="计量方式:" prop="measuringMethod">
- <el-select v-model="formData.measuringMethod" clearable placeholder="请选择计量方式" style="width:180px;">
- <el-option label="重量" :value="1"></el-option>
- <!--<el-option label="体积" :value="2"></el-option>-->
- <!--<el-option label="个数" :value="3"></el-option>-->
- </el-select>
- </el-form-item>
- <el-form-item label="单位:" prop="chemicalUnit" label-width="100px">
- <el-select v-model="formData.chemicalUnit" clearable placeholder="请选择单位" style="width:210px;">
- <el-option v-for="(item,index) in chemicalsMeasuringUnit" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
- </el-select>
- </el-form-item>
- </div>
- <div class="form-el-checkbox-group" style="max-width:1380px;">
- <el-form-item label="属性:" prop="classifyAttribute">
- <div style="padding:10px 20px 4px; border:1px solid #dedede;">
- <el-checkbox-group v-model="formData.classifyAttribute" style="margin-top:2px;flex:1;">
- <el-checkbox v-for="item in optionsListTwo" :label="item.dictValue"
- :key="item.dictValue">{{item.dictLabel}}</el-checkbox>
- </el-checkbox-group>
- </div>
- </el-form-item>
- </div>
- <!--<div class="form-min-box">-->
- <!--<el-form-item label="检验方式:" prop="verification">-->
- <!--<el-select v-model="formData.verification" clearable placeholder="请选择检验方式" style="width:500px;">-->
- <!--<el-option label="单人验证" :value="1"></el-option>-->
- <!--<el-option label="双人双卡" :value="2"></el-option>-->
- <!--</el-select>-->
- <!--</el-form-item>-->
- <!--</div>-->
- <div class="form-min-box">
- <el-form-item label="别名:" prop="anotherName">
- <el-input
- maxlength="30"
- style="width:500px;"
- v-model="formData.anotherName"
- placeholder="请输入别名"
- clearable
- size="small"/>
- </el-form-item>
- </div>
- <div class="form-min-box">
- <el-form-item label="CAS号:" prop="casNum">
- <el-input
- maxlength="30"
- style="width:500px;"
- v-model="formData.casNum"
- placeholder="请输入CAS号"
- clearable
- size="small"/>
- </el-form-item>
- </div>
- <div class="form-min-box">
- <el-form-item label="生产厂家:" prop="factory">
- <el-input
- maxlength="30"
- style="width:500px;"
- v-model="formData.factory"
- placeholder="请输入生产厂家"
- clearable
- size="small"/>
- </el-form-item>
- </div>
- <div class="form-min-box">
- <el-form-item label="纯度:" prop="purity">
- <el-input
- maxlength="30"
- style="width:500px;"
- v-model="formData.purity"
- placeholder="请输入纯度"
- clearable
- size="small"/>
- </el-form-item>
- </div>
- <div class="form-min-box input-number-none-box">
- <el-form-item label="领用时效:" prop="collectHour">
- <el-input-number
- :max="99"
- style="width:100px;"
- v-model="formData.collectHour"
- placeholder="请输入"
- clearable/>
- </el-form-item>
- <el-form-item label="小时" label-width="44px" prop="collectMinute">
- <el-input-number
- :max="99"
- style="width:100px;"
- v-model="formData.collectMinute"
- placeholder="请输入"
- clearable/>
- </el-form-item>
- <span class="form-left-text">分钟</span>
- <i class="el-icon-question form-i-icon"></i>
- <span class="form-right-text">化学品使用最大时长设置</span>
- </div>
- <div class="bottom-button-box">
- <p class="inquire-button-one right-button" @click="upData">提交</p>
- </div>
- </el-form>
- </div>
- </div>
- </template>
- <script>
- import { classifyList,addHxpChemical,putHxpChemical } from "@/api/medicUniversity-3_1/index";
- export default {
- name: "addPage",
- props:{
- addPropsData:{},
- },
- data() {
- return {
- rules:{
- chemicalName:[
- { required: true, message: '请输入化学品名', trigger: 'blur' },
- { required: true, message: "请输入化学品名", validator: this.spaceJudgment, trigger: "blur" }
- ],
- chemicalClassify:[
- { required: true, message: '请选择化学品分类', trigger: 'blur' },
- { required: true, message: "请选择化学品分类", validator: this.spaceJudgment, trigger: "blur" }
- ],
- chemicalShape:[
- { required: true, message: '请选择形态', trigger: 'blur' },
- { required: true, message: "请选择形态", validator: this.spaceJudgment, trigger: "blur" }
- ],
- // labelType:[
- // { required: true, message: '请选择标签类型', trigger: 'blur' },
- // { required: true, message: "请选择标签类型", validator: this.spaceJudgment, trigger: "blur" }
- // ],
- measuringMethod:[
- { required: true, message: '请选择计量方式', trigger: 'blur' },
- { required: true, message: "请选择计量方式", validator: this.spaceJudgment, trigger: "blur" }
- ],
- chemicalUnit:[
- { required: true, message: '请选择单位', trigger: 'blur' },
- { required: true, message: "请选择单位", validator: this.spaceJudgment, trigger: "blur" }
- ],
- verification:[
- { required: true, message: '请选择检验方式', trigger: 'blur' },
- { required: true, message: "请选择检验方式", validator: this.spaceJudgment, trigger: "blur" }
- ],
- },
- formData:{
- // labelType:1,
- classifyAttribute:[],
- },
- //化学品形态
- optionsList:[],
- //化学品分类列表
- optionsListOne:[],
- //属性列表
- optionsListTwo:[],
- //化学品计量单位
- chemicalsMeasuringUnit:[],
- };
- },
- created() {
- },
- mounted(){
- this.getDicts("chemicals_measuring_unit").then((response) => {
- this.chemicalsMeasuringUnit = response.data;
- });
- this.getDicts("chemical_shape").then(response => {
- this.optionsList = response.data;
- })
- this.getDicts("hxp_classifyattribute").then(response => {
- this.optionsListTwo = response.data;
- })
- this.classifyList();
- if(this.addPropsData.id){
- this.formData = JSON.parse(JSON.stringify(this.addPropsData));
- this.formData.chemicalShape = this.addPropsData.chemicalShape+''
- if(this.formData.classifyAttribute){
- this.formData.classifyAttribute = this.formData.classifyAttribute.split(",");
- }
- }
- },
- methods: {
- //提交接口
- upData(){
- let self = this;
- console.log('this.addPropsData',this.addPropsData);
- this.$refs["form"].validate(valid => {
- if (valid) {
- console.log('this.addPropsData',this.addPropsData);
- if(this.addPropsData.id){
- //编辑
- if(this.formData.chemicalClassify != 1){
- this.formData.criticality = 0;
- }else{
- if(!this.formData.criticality){
- this.formData.criticality = 0;
- }
- }
- this.formData.classifyAttribute = this.formData.classifyAttribute+'';
- putHxpChemical(this.formData).then(response => {
- if(response.code == 200){
- this.msgSuccess(response.msg);
- this.$parent.pageToggle(1,'get');
- }
- });
- }else{
- //新增
- if(this.formData.chemicalClassify != 1){
- this.formData.criticality = 0;
- }else{
- if(!this.formData.criticality){
- this.formData.criticality = 0;
- }
- }
- this.formData.classifyAttribute = this.formData.classifyAttribute+'';
- addHxpChemical(this.formData).then(response => {
- if(response.code == 200){
- this.msgSuccess(response.msg);
- this.$parent.pageToggle(1,'refresh');
- }
- });
- }
- }
- });
- },
- //获取化学品分类列表
- classifyList(){
- classifyList().then(response => {
- this.optionsListOne = response.rows;
- });
- },
- backPage(){
- this.$parent.pageToggle(1);
- },
- }
- }
- </script>
- <style scoped lang="scss">
- .listPage{
- flex:1;
- display: flex;
- flex-direction: column;
- overflow: hidden;
- p{
- margin:0;
- padding:0;
- }
- .title-box{
- display: flex;
- height:90px;
- border-bottom: 1px solid #D8D8D8;
- p:nth-child(1){
- flex:1;
- font-size:16px;
- line-height:90px;
- margin-left:18px;
- color:#0045AF;
- }
- p:nth-child(2){
- margin:25px 25px 0 0;
- }
- }
- .listPage-min{
- flex:1;
- display: flex;
- flex-direction: column;
- padding:20px;
- .form-min-box{
- display: inline-block;
- width:750px;
- height:70px;
- .form-i-icon{
- margin-right:10px;
- color:rgba(255,192,0,1);
- }
- .form-left-text{
- line-height:30px;
- font-size:14px;
- color:#606266;
- margin-right:40px;
- }
- .form-right-text{
- line-height:40px;
- font-size:14px;
- color:#606266;
- }
- }
- .bottom-button-box{
- display: flex;
- width:160px;
- margin:40px auto 20px;
- .left-button{
- margin-right:20px;
- }
- }
- }
- }
- </style>
- <style lang="scss">
- .listPage{
- .listPage-min{
- .criticality-input{
- .el-input-number__decrease,.el-input-number__increase{
- display: none;
- }
- .el-input-number .el-input{
- input{
- padding:0 15px;
- text-align: left;
- }
- }
- }
- .form-el-checkbox-group{
- .el-form-item{
- display: flex;
- .el-form-item__label{
- width:120px;
- }
- .el-form-item__content{
- flex:1;
- }
- .el-checkbox{
- display: inline-block;
- }
- }
- }
- }
- }
- .num-input-item{
- .num-input-min-box{
- display: flex;
- .el-input-number__increase{
- display: none;
- }
- .el-input-number__decrease{
- display: none;
- }
- input{
- padding:0 20px!important;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- }
- .num-title-span{
- display: inline-block;
- width:40px;
- height:40px;
- text-align: center;
- border: 1px solid #DCDFE6;
- border-left:none;
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
- }
- }
- }
- </style>
|