|
@@ -59,18 +59,37 @@
|
|
|
/>
|
|
|
<el-button
|
|
|
type="text"
|
|
|
- :disabled="data.type===1 || data.type===3"
|
|
|
+ v-if="data.type===5||data.type===4"
|
|
|
size="mini"
|
|
|
icon="el-icon-edit"
|
|
|
@click.stop="() => edit(data)"
|
|
|
/>
|
|
|
<el-button
|
|
|
type="text"
|
|
|
+ v-if="data.type===5||data.type===4"
|
|
|
:disabled="data.type===1 || data.type===3"
|
|
|
size="mini"
|
|
|
icon="el-icon-delete"
|
|
|
@click.stop="() => remove(data)"
|
|
|
/>
|
|
|
+ <el-tooltip class="item" effect="light" :content="$t('frameManage.renameRooms')" placement="top">
|
|
|
+ <el-button
|
|
|
+ v-if="data.type===3"
|
|
|
+ type="text"
|
|
|
+ size="mini"
|
|
|
+ icon="el-icon-c-scale-to-original"
|
|
|
+ @click.stop="() => batchRenameRoom(data)"
|
|
|
+ />
|
|
|
+ </el-tooltip>
|
|
|
+ <el-tooltip class="item" effect="light" :content="$t('frameManage.renameBeds')" placement="top">
|
|
|
+ <el-button
|
|
|
+ v-if="data.type===3"
|
|
|
+ type="text"
|
|
|
+ size="mini"
|
|
|
+ icon="el-icon-tickets"
|
|
|
+ @click.stop="() => beatchRenameBed(data)"
|
|
|
+ />
|
|
|
+ </el-tooltip>
|
|
|
</span>
|
|
|
</span>
|
|
|
</el-tree>
|
|
@@ -241,7 +260,181 @@
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
|
<!---快速创建结构弹窗 -->
|
|
|
+<!--重命名床位-->
|
|
|
+ <el-dialog :title="this.$t('frameManage.renameBeds')" :visible.sync="renameBedVisible" width="620px">
|
|
|
+ <el-form ref="createFrameForm" :model="renameBedFrameModel" :rules="createFrameRules" label-width="200px">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item :label="$t('frameManage.renameRule')">
|
|
|
+ <el-radio-group v-model="renameBedFrameModel.rename_type">
|
|
|
+ <el-radio :label="1">{{$t('frameManage.orderInPart')}}</el-radio>
|
|
|
+ <el-radio :label="2">{{$t('frameManage.orderInRoom')}}</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="17">
|
|
|
+
|
|
|
+ <!--前缀-->
|
|
|
+ <el-form-item :label="this.$t('frameManage.prefix')" prop="prefix">
|
|
|
+ <el-input v-model="renameBedFrameModel.prefix" @change="generateBedExample" :placeholder="$t('frameManage.renamePrefixExample')" maxlength="10" show-word-limit />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="el-form-item__label" style="margin-left: 20px">
|
|
|
+ {{ this.$t('frameManage.example') }}:{{ $t('frameManage.renamePrefixExample') }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="18">
|
|
|
+ <!--床位数字位数-->
|
|
|
+ <el-form-item :label="this.$t('frameManage.showBedDigit')" prop="bed_num_bits">
|
|
|
+ <el-input-number v-model="renameBedFrameModel.bed_num_bits" :min="1" :max="4" @change="(val)=>{renameBedBitNumChange(val,'bed')}" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="el-form-item__label">
|
|
|
+ {{ this.$t('frameManage.example') }}:{{ bed_num_demo }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="17">
|
|
|
+ <!--需要跳过的床位号-->
|
|
|
+ <el-form-item :label="this.$t('frameManage.skipBedNo')" prop="skip_bed_no">
|
|
|
+ <el-input v-model="renameBedFrameModel.skip_bed_no" @change="generateBedExample" :placeholder="$t('frameManage.skipMsg1')" clearable :maxlength="100"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="el-form-item__label" style="margin-left: 20px">
|
|
|
+ {{ this.$t('frameManage.example') }}:{{ $t('frameManage.skipMsg2') }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="17">
|
|
|
|
|
|
+ <!--名称后缀-->
|
|
|
+ <el-form-item :label="this.$t('frameManage.nameSuffix')" prop="prefix">
|
|
|
+ <el-input v-model="renameBedFrameModel.name_suffix" :placeholder="$t('frameManage.suffixExample')" maxlength="10" show-word-limit />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="el-form-item__label" style="margin-left: 20px">
|
|
|
+ {{ this.$t('frameManage.example') }}:{{ $t('frameManage.suffixExample') }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="17">
|
|
|
+
|
|
|
+ <!--全名后缀-->
|
|
|
+ <el-form-item :label="this.$t('frameManage.suffix')" prop="prefix">
|
|
|
+ <el-input v-model="renameBedFrameModel.suffix" :placeholder="$t('frameManage.suffixExample')" maxlength="10" show-word-limit />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="el-form-item__label" style="margin-left: 20px">
|
|
|
+ {{ this.$t('frameManage.example') }}:{{ $t('frameManage.suffixExample') }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item >
|
|
|
+ <el-checkbox v-model="renameBedFrameModel.all_part" :true-label="1" :false-label="0">{{ this.$t('frameManage.updateForAllPart') }}</el-checkbox>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item :label="this.$t('frameManage.namePreview')" >
|
|
|
+ <el-tag v-for="item in bedExamples" :key="item.name">{{item.name}}{{renameBedFrameModel.name_suffix}}</el-tag>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item :label="this.$t('frameManage.fullNamePreview')" >
|
|
|
+ <el-tag v-for="item in bedExamples" :key="item.name">{{item.name}}{{renameBedFrameModel.suffix}}</el-tag>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" class="save" @click="renameBedNameSubmit">{{ this.$t('action.yes') }}</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
+ <!--重命名床位-->
|
|
|
+ <!-- 重命名房间名称-->
|
|
|
+ <el-dialog :title="this.$t('frameManage.renameRooms')" :visible.sync="renameRoomVisible" width="620px">
|
|
|
+ <el-form ref="createFrameForm" :model="renameRoomFrameModel" :rules="createFrameRules" label-width="200px">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="17">
|
|
|
+
|
|
|
+ <!--前缀-->
|
|
|
+ <el-form-item :label="this.$t('frameManage.prefix')" prop="prefix">
|
|
|
+ <el-input v-model="renameRoomFrameModel.prefix" @change="generateRoomExample" :placeholder="$t('frameManage.renamePrefixExample')" maxlength="10" show-word-limit />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="el-form-item__label" style="margin-left: 20px">
|
|
|
+ {{ this.$t('frameManage.example') }}:{{ $t('frameManage.renamePrefixExample') }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="18">
|
|
|
+ <!--床位数字位数-->
|
|
|
+ <el-form-item :label="this.$t('frameManage.showRoomDigit')" prop="room_num_bits">
|
|
|
+ <el-input-number v-model="renameRoomFrameModel.room_num_bits" :min="1" :max="4" @change="(val)=>{renameRoomBitNumChange(val,'bed')}" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="el-form-item__label">
|
|
|
+ {{ this.$t('frameManage.example') }}:{{ bed_num_demo }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="17">
|
|
|
+ <!--需要跳过的床位号-->
|
|
|
+ <el-form-item :label="this.$t('frameManage.skipRoomNo')" prop="skip_room_no">
|
|
|
+ <el-input v-model="renameRoomFrameModel.skip_room_no" @change="generateRoomExample" :placeholder="$t('frameManage.skipMsg1')" clearable :maxlength="100"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="el-form-item__label" style="margin-left: 20px">
|
|
|
+ {{ this.$t('frameManage.example') }}:{{ $t('frameManage.skipMsg2') }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="17">
|
|
|
+
|
|
|
+ <!--全名后缀-->
|
|
|
+ <el-form-item :label="this.$t('frameManage.roomSuffix')" prop="prefix">
|
|
|
+ <el-input v-model="renameRoomFrameModel.suffix" :placeholder="$t('frameManage.room')" maxlength="10" show-word-limit />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="el-form-item__label" style="margin-left: 20px">
|
|
|
+ {{ this.$t('frameManage.example') }}:{{ $t('frameManage.room') }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item >
|
|
|
+ <el-checkbox v-model="renameRoomFrameModel.all_part" :true-label="1" :false-label="0">{{ this.$t('frameManage.updateForAllPart') }}</el-checkbox>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item :label="this.$t('frameManage.namePreview')" >
|
|
|
+ <el-tag v-for="item in roomExamples" :key="item.name">{{item.name}}{{renameRoomFrameModel.suffix}}</el-tag>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" class="save" @click="renameRoomNameSubmit">{{ this.$t('action.yes') }}</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
+ <!--- 重命名房间 -->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -273,7 +466,20 @@ export default {
|
|
|
/** frame 编辑弹窗 **/
|
|
|
frameEditTitle: this.$t('action.add'),
|
|
|
frameDialogVisible: false,
|
|
|
+ renameBedVisible:false,
|
|
|
+ renameRoomVisible:false,
|
|
|
frameInfo: {},
|
|
|
+ renameBedFrameModel:{
|
|
|
+ bed_num_bits:2,
|
|
|
+ rename_type:1,
|
|
|
+ all_part:0
|
|
|
+ },
|
|
|
+ renameRoomFrameModel:{
|
|
|
+ room_num_bits:2,
|
|
|
+ all_part:0
|
|
|
+ },
|
|
|
+ bedExamples:[{name:'01'},{name:'02'},{name:'03'},{name:'04'},{name:'05'},{name:'06'},{name:'07'},{name:'08'},{name:'09'},{name:'10'}],
|
|
|
+ roomExamples:[{name:'01'},{name:'02'},{name:'03'},{name:'04'},{name:'05'},{name:'06'},{name:'07'},{name:'08'},{name:'09'},{name:'10'}],
|
|
|
rules: {
|
|
|
name: [
|
|
|
this.MixinRequired(this.$t('frameManage.inputFrameName')),
|
|
@@ -527,6 +733,15 @@ export default {
|
|
|
this.bed_num_demo = s
|
|
|
}
|
|
|
},
|
|
|
+ renameBedBitNumChange(val,frame_type){
|
|
|
+ this.bitNumChange(val,frame_type)
|
|
|
+ this.generateBedExample()
|
|
|
+ },
|
|
|
+
|
|
|
+ renameRoomBitNumChange(val,frame_type){
|
|
|
+ this.bitNumChange(val,frame_type)
|
|
|
+ this.generateRoomExample()
|
|
|
+ },
|
|
|
/** 起始位数变化 结束位置要根据起始位置的大小来变化 */
|
|
|
roomStartChange(val) {
|
|
|
console.log(val)
|
|
@@ -556,6 +771,90 @@ export default {
|
|
|
mouseOver(event) {
|
|
|
this.isShowTooltip =
|
|
|
event.currentTarget.scrollWidth <= event.currentTarget.clientWidth;
|
|
|
+ },
|
|
|
+ beatchRenameBed(data){
|
|
|
+ this.renameBedVisible=true
|
|
|
+ console.log('data',data)
|
|
|
+ },
|
|
|
+ batchRenameRoom(data){
|
|
|
+ this.renameRoomVisible=true
|
|
|
+ },
|
|
|
+
|
|
|
+ generateBedExample(){
|
|
|
+ this.bedExamples=[]
|
|
|
+ let total =10
|
|
|
+ let skipNumber=[]
|
|
|
+ if(this.renameBedFrameModel.skip_bed_no!==null&&this.renameBedFrameModel.skip_bed_no!==undefined&&this.renameBedFrameModel.skip_bed_no!==''){
|
|
|
+ skipNumber = this.renameBedFrameModel.skip_bed_no.split(',').map(p=>Number(p))
|
|
|
+ console.log('sn',this.renameBedFrameModel.skip_bed_no)
|
|
|
+ total+=skipNumber.filter(p=>p<=10).length
|
|
|
+ }else{
|
|
|
+ total=10
|
|
|
+ }
|
|
|
+
|
|
|
+ for (let i = 1; i <=total ; i++) {
|
|
|
+ if(skipNumber.includes(i)){
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ this.bedExamples.push({
|
|
|
+
|
|
|
+ name:(this.renameBedFrameModel.prefix?this.renameBedFrameModel.prefix:'')+''+this.padding2(i,this.renameBedFrameModel.bed_num_bits)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ generateRoomExample(){
|
|
|
+ this.roomExamples=[]
|
|
|
+ let total =10
|
|
|
+ let skipNumber=[]
|
|
|
+ if(this.renameRoomFrameModel.skip_room_no!==null&&this.renameRoomFrameModel.skip_room_no!==undefined&&this.renameRoomFrameModel.skip_room_no!==''){
|
|
|
+ skipNumber = this.renameRoomFrameModel.skip_room_no.split(',').map(p=>Number(p))
|
|
|
+ console.log('sn',this.renameRoomFrameModel.skip_room_no)
|
|
|
+ total+=skipNumber.filter(p=>p<=10).length
|
|
|
+ }else{
|
|
|
+ total=10
|
|
|
+ }
|
|
|
+
|
|
|
+ for (let i = 1; i <=total ; i++) {
|
|
|
+ if(skipNumber.includes(i)){
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ this.roomExamples.push({
|
|
|
+
|
|
|
+ name:(this.renameRoomFrameModel.prefix?this.renameRoomFrameModel.prefix:'')+''+this.padding2(i,this.renameRoomFrameModel.room_num_bits)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ padding2(num, length) {
|
|
|
+ if((num + "").length >= length) {
|
|
|
+ return num;
|
|
|
+ }
|
|
|
+ return this.padding2("0" + num, length)
|
|
|
+ },
|
|
|
+ renameBedNameSubmit(){
|
|
|
+ API_Frame.renameBeds(this.$store.getters.partId,this.renameBedFrameModel).then(res=>{
|
|
|
+ this.renameBedVisible=false
|
|
|
+ this.getFrameTree().then(() => {
|
|
|
+ this.selectedNodeId = this.treeData[0].id
|
|
|
+ this.$refs.frameTree.setCurrentKey(this.selectedNodeId)
|
|
|
+ }).catch(err => {
|
|
|
+ this.$message.error(err.message)
|
|
|
+ })
|
|
|
+ }).catch(err=>{
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
+ renameRoomNameSubmit(){
|
|
|
+ API_Frame.renameRooms(this.$store.getters.partId,this.renameRoomFrameModel).then(res=>{
|
|
|
+ this.renameRoomVisible=false
|
|
|
+ this.getFrameTree().then(() => {
|
|
|
+ this.selectedNodeId = this.treeData[0].id
|
|
|
+ this.$refs.frameTree.setCurrentKey(this.selectedNodeId)
|
|
|
+ }).catch(err => {
|
|
|
+ this.$message.error(err.message)
|
|
|
+ })
|
|
|
+ }).catch(err=>{
|
|
|
+
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -597,4 +896,7 @@ export default {
|
|
|
margin: 8px;
|
|
|
padding: 0;
|
|
|
}
|
|
|
+.el-tag+.el-tag{
|
|
|
+ margin-left: 10px;
|
|
|
+}
|
|
|
</style>
|